// $ANTLR 3.1.2 E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g 2013-05-14 20:12:47

// The variable 'variable' is assigned but its value is never used.
#pragma warning disable 219
// Unreachable code detected.
#pragma warning disable 162


using System.Collections.Generic;
using Antlr.Runtime;
using Stack = System.Collections.Generic.Stack<object>;
using List = System.Collections.IList;
using ArrayList = System.Collections.Generic.List<object>;

namespace ActorModel.Evolution.Grammar
{
public partial class EvolutionLexer : Lexer
{
	public const int EOF=-1;
	public const int AND=4;
	public const int ASSIGN=5;
	public const int BITWISE_AND=6;
	public const int BITWISE_OR=7;
	public const int BOOL_FALSE=8;
	public const int BOOL_TRUE=9;
	public const int COLON=10;
	public const int COMMA=11;
	public const int CONNECTOR_STATE=12;
	public const int DEBUG=13;
	public const int DIV=14;
	public const int EQUALS=15;
	public const int EXCLAMATION_SIGN=16;
	public const int FINALIZE=17;
	public const int FOR=18;
	public const int ID=19;
	public const int IF=20;
	public const int INT=21;
	public const int INTERSECT_OP=22;
	public const int INVERSE=23;
	public const int LEFT_BRACE=24;
	public const int LEFT_BRACKET=25;
	public const int LEFT_PAREN=26;
	public const int LENGTH=27;
	public const int LESS=28;
	public const int LESS_OR_EQUALS=29;
	public const int LINE_COMMENT=30;
	public const int LOG=31;
	public const int MAX=32;
	public const int MIN=33;
	public const int MINUS=34;
	public const int MODULO=35;
	public const int MORE=36;
	public const int MORE_OR_EQUALS=37;
	public const int MULT=38;
	public const int NODE_STATE=39;
	public const int NOT=40;
	public const int NOT_EQUALS=41;
	public const int OCONNECTOR_STATE=42;
	public const int ONODE_STATE=43;
	public const int OR=44;
	public const int PLUS=45;
	public const int RIGHT_BRACE=46;
	public const int RIGHT_BRACKET=47;
	public const int RIGHT_PAREN=48;
	public const int SEMI=49;
	public const int STRING=50;
	public const int SUBSTRING=51;
	public const int TO_NUMBER=52;
	public const int TO_STRING=53;
	public const int TYPE_BOOL=54;
	public const int TYPE_INT=55;
	public const int TYPE_STRING=56;
	public const int UNION_OP=57;
	public const int WHILE=58;
	public const int WS=59;
	public const int XOR=60;

    // delegates
    // delegators

	public EvolutionLexer() {}
	public EvolutionLexer( ICharStream input )
		: this( input, new RecognizerSharedState() )
	{
	}
	public EvolutionLexer( ICharStream input, RecognizerSharedState state )
		: base( input, state )
	{

	}
	public override string GrammarFileName { get { return "E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g"; } }

	// $ANTLR start "LOG"
	private void mLOG()
	{
		try
		{
			int _type = LOG;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:426:7: ( 'log' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:426:7: 'log'
			{
			Match("log"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LOG"

	// $ANTLR start "IF"
	private void mIF()
	{
		try
		{
			int _type = IF;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:429:7: ( 'if' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:429:7: 'if'
			{
			Match("if"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "IF"

	// $ANTLR start "WHILE"
	private void mWHILE()
	{
		try
		{
			int _type = WHILE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:432:7: ( 'while' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:432:7: 'while'
			{
			Match("while"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "WHILE"

	// $ANTLR start "FOR"
	private void mFOR()
	{
		try
		{
			int _type = FOR;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:435:4: ( 'for' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:435:4: 'for'
			{
			Match("for"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "FOR"

	// $ANTLR start "TYPE_INT"
	private void mTYPE_INT()
	{
		try
		{
			int _type = TYPE_INT;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:438:7: ( 'int' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:438:7: 'int'
			{
			Match("int"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "TYPE_INT"

	// $ANTLR start "TYPE_STRING"
	private void mTYPE_STRING()
	{
		try
		{
			int _type = TYPE_STRING;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:441:7: ( 'string' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:441:7: 'string'
			{
			Match("string"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "TYPE_STRING"

	// $ANTLR start "TYPE_BOOL"
	private void mTYPE_BOOL()
	{
		try
		{
			int _type = TYPE_BOOL;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:444:4: ( 'bool' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:444:4: 'bool'
			{
			Match("bool"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "TYPE_BOOL"

	// $ANTLR start "FINALIZE"
	private void mFINALIZE()
	{
		try
		{
			int _type = FINALIZE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:447:7: ( 'finalize' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:447:7: 'finalize'
			{
			Match("finalize"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "FINALIZE"

	// $ANTLR start "DEBUG"
	private void mDEBUG()
	{
		try
		{
			int _type = DEBUG;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:450:4: ( 'debug' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:450:4: 'debug'
			{
			Match("debug"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "DEBUG"

	// $ANTLR start "NODE_STATE"
	private void mNODE_STATE()
	{
		try
		{
			int _type = NODE_STATE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:453:4: ( 'node_st' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:453:4: 'node_st'
			{
			Match("node_st"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "NODE_STATE"

	// $ANTLR start "ONODE_STATE"
	private void mONODE_STATE()
	{
		try
		{
			int _type = ONODE_STATE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:456:4: ( 'onode_st' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:456:4: 'onode_st'
			{
			Match("onode_st"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "ONODE_STATE"

	// $ANTLR start "CONNECTOR_STATE"
	private void mCONNECTOR_STATE()
	{
		try
		{
			int _type = CONNECTOR_STATE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:459:4: ( 'conn_st' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:459:4: 'conn_st'
			{
			Match("conn_st"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "CONNECTOR_STATE"

	// $ANTLR start "OCONNECTOR_STATE"
	private void mOCONNECTOR_STATE()
	{
		try
		{
			int _type = OCONNECTOR_STATE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:462:4: ( 'oconn_st' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:462:4: 'oconn_st'
			{
			Match("oconn_st"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "OCONNECTOR_STATE"

	// $ANTLR start "BITWISE_OR"
	private void mBITWISE_OR()
	{
		try
		{
			int _type = BITWISE_OR;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:465:4: ( 'b_or' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:465:4: 'b_or'
			{
			Match("b_or"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "BITWISE_OR"

	// $ANTLR start "BITWISE_AND"
	private void mBITWISE_AND()
	{
		try
		{
			int _type = BITWISE_AND;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:468:4: ( 'b_and' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:468:4: 'b_and'
			{
			Match("b_and"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "BITWISE_AND"

	// $ANTLR start "AND"
	private void mAND()
	{
		try
		{
			int _type = AND;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:472:4: ( 'and' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:472:4: 'and'
			{
			Match("and"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "AND"

	// $ANTLR start "NOT"
	private void mNOT()
	{
		try
		{
			int _type = NOT;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:475:4: ( 'not' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:475:4: 'not'
			{
			Match("not"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "NOT"

	// $ANTLR start "OR"
	private void mOR()
	{
		try
		{
			int _type = OR;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:478:4: ( 'or' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:478:4: 'or'
			{
			Match("or"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "OR"

	// $ANTLR start "XOR"
	private void mXOR()
	{
		try
		{
			int _type = XOR;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:481:4: ( 'xor' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:481:4: 'xor'
			{
			Match("xor"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "XOR"

	// $ANTLR start "BOOL_TRUE"
	private void mBOOL_TRUE()
	{
		try
		{
			int _type = BOOL_TRUE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:485:4: ( 'true' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:485:4: 'true'
			{
			Match("true"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "BOOL_TRUE"

	// $ANTLR start "BOOL_FALSE"
	private void mBOOL_FALSE()
	{
		try
		{
			int _type = BOOL_FALSE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:488:4: ( 'false' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:488:4: 'false'
			{
			Match("false"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "BOOL_FALSE"

	// $ANTLR start "INVERSE"
	private void mINVERSE()
	{
		try
		{
			int _type = INVERSE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:491:4: ( 'inverse' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:491:4: 'inverse'
			{
			Match("inverse"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "INVERSE"

	// $ANTLR start "SUBSTRING"
	private void mSUBSTRING()
	{
		try
		{
			int _type = SUBSTRING;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:494:4: ( 'substring' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:494:4: 'substring'
			{
			Match("substring"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "SUBSTRING"

	// $ANTLR start "TO_NUMBER"
	private void mTO_NUMBER()
	{
		try
		{
			int _type = TO_NUMBER;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:497:4: ( 'tonumber' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:497:4: 'tonumber'
			{
			Match("tonumber"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "TO_NUMBER"

	// $ANTLR start "TO_STRING"
	private void mTO_STRING()
	{
		try
		{
			int _type = TO_STRING;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:500:4: ( 'tostring' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:500:4: 'tostring'
			{
			Match("tostring"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "TO_STRING"

	// $ANTLR start "MIN"
	private void mMIN()
	{
		try
		{
			int _type = MIN;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:503:4: ( 'min' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:503:4: 'min'
			{
			Match("min"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MIN"

	// $ANTLR start "MAX"
	private void mMAX()
	{
		try
		{
			int _type = MAX;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:506:4: ( 'max' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:506:4: 'max'
			{
			Match("max"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MAX"

	// $ANTLR start "LENGTH"
	private void mLENGTH()
	{
		try
		{
			int _type = LENGTH;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:509:4: ( 'length' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:509:4: 'length'
			{
			Match("length"); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LENGTH"

	// $ANTLR start "INT"
	private void mINT()
	{
		try
		{
			int _type = INT;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:512:7: ( ( '0' .. '9' )+ )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:512:7: ( '0' .. '9' )+
			{
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:512:7: ( '0' .. '9' )+
			int cnt1=0;
			for ( ; ; )
			{
				int alt1=2;
				int LA1_0 = input.LA(1);

				if ( ((LA1_0>='0' && LA1_0<='9')) )
				{
					alt1=1;
				}


				switch ( alt1 )
				{
				case 1:
					// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:
					{
					input.Consume();


					}
					break;

				default:
					if ( cnt1 >= 1 )
						goto loop1;

					EarlyExitException eee1 = new EarlyExitException( 1, input );
					throw eee1;
				}
				cnt1++;
			}
			loop1:
				;



			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "INT"

	// $ANTLR start "STRING"
	private void mSTRING()
	{
		try
		{
			int _type = STRING;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:515:7: ( '\"' ( '0' | '1' )* '\"' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:515:7: '\"' ( '0' | '1' )* '\"'
			{
			Match('\"'); 
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:515:11: ( '0' | '1' )*
			for ( ; ; )
			{
				int alt2=2;
				int LA2_0 = input.LA(1);

				if ( ((LA2_0>='0' && LA2_0<='1')) )
				{
					alt2=1;
				}


				switch ( alt2 )
				{
				case 1:
					// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:
					{
					input.Consume();


					}
					break;

				default:
					goto loop2;
				}
			}

			loop2:
				;


			Match('\"'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "STRING"

	// $ANTLR start "ID"
	private void mID()
	{
		try
		{
			int _type = ID;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:518:7: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:518:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
			{
			if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') )
			{
				input.Consume();

			}
			else
			{
				MismatchedSetException mse = new MismatchedSetException(null,input);
				Recover(mse);
				throw mse;}

			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:518:37: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
			for ( ; ; )
			{
				int alt3=2;
				int LA3_0 = input.LA(1);

				if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) )
				{
					alt3=1;
				}


				switch ( alt3 )
				{
				case 1:
					// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:
					{
					input.Consume();


					}
					break;

				default:
					goto loop3;
				}
			}

			loop3:
				;



			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "ID"

	// $ANTLR start "EXCLAMATION_SIGN"
	private void mEXCLAMATION_SIGN()
	{
		try
		{
			int _type = EXCLAMATION_SIGN;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:521:4: ( '!' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:521:4: '!'
			{
			Match('!'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "EXCLAMATION_SIGN"

	// $ANTLR start "COMMA"
	private void mCOMMA()
	{
		try
		{
			int _type = COMMA;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:525:7: ( ',' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:525:7: ','
			{
			Match(','); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "COMMA"

	// $ANTLR start "PLUS"
	private void mPLUS()
	{
		try
		{
			int _type = PLUS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:528:7: ( '+' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:528:7: '+'
			{
			Match('+'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "PLUS"

	// $ANTLR start "MINUS"
	private void mMINUS()
	{
		try
		{
			int _type = MINUS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:531:7: ( '-' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:531:7: '-'
			{
			Match('-'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MINUS"

	// $ANTLR start "DIV"
	private void mDIV()
	{
		try
		{
			int _type = DIV;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:534:7: ( '/' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:534:7: '/'
			{
			Match('/'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "DIV"

	// $ANTLR start "MULT"
	private void mMULT()
	{
		try
		{
			int _type = MULT;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:537:7: ( '*' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:537:7: '*'
			{
			Match('*'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MULT"

	// $ANTLR start "MODULO"
	private void mMODULO()
	{
		try
		{
			int _type = MODULO;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:540:4: ( '%' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:540:4: '%'
			{
			Match('%'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MODULO"

	// $ANTLR start "EQUALS"
	private void mEQUALS()
	{
		try
		{
			int _type = EQUALS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:543:7: ( '=' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:543:7: '='
			{
			Match('='); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "EQUALS"

	// $ANTLR start "NOT_EQUALS"
	private void mNOT_EQUALS()
	{
		try
		{
			int _type = NOT_EQUALS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:547:7: ( '!=' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:547:7: '!='
			{
			Match("!="); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "NOT_EQUALS"

	// $ANTLR start "LESS"
	private void mLESS()
	{
		try
		{
			int _type = LESS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:551:7: ( '<' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:551:7: '<'
			{
			Match('<'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LESS"

	// $ANTLR start "LESS_OR_EQUALS"
	private void mLESS_OR_EQUALS()
	{
		try
		{
			int _type = LESS_OR_EQUALS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:555:7: ( '<=' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:555:7: '<='
			{
			Match("<="); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LESS_OR_EQUALS"

	// $ANTLR start "MORE"
	private void mMORE()
	{
		try
		{
			int _type = MORE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:559:7: ( '>' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:559:7: '>'
			{
			Match('>'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MORE"

	// $ANTLR start "MORE_OR_EQUALS"
	private void mMORE_OR_EQUALS()
	{
		try
		{
			int _type = MORE_OR_EQUALS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:563:7: ( '>=' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:563:7: '>='
			{
			Match(">="); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "MORE_OR_EQUALS"

	// $ANTLR start "ASSIGN"
	private void mASSIGN()
	{
		try
		{
			int _type = ASSIGN;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:567:7: ( ':=' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:567:7: ':='
			{
			Match(":="); 


			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "ASSIGN"

	// $ANTLR start "UNION_OP"
	private void mUNION_OP()
	{
		try
		{
			int _type = UNION_OP;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:570:4: ( '&' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:570:4: '&'
			{
			Match('&'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "UNION_OP"

	// $ANTLR start "INTERSECT_OP"
	private void mINTERSECT_OP()
	{
		try
		{
			int _type = INTERSECT_OP;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:574:4: ( '^' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:574:4: '^'
			{
			Match('^'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "INTERSECT_OP"

	// $ANTLR start "SEMI"
	private void mSEMI()
	{
		try
		{
			int _type = SEMI;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:578:7: ( ';' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:578:7: ';'
			{
			Match(';'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "SEMI"

	// $ANTLR start "COLON"
	private void mCOLON()
	{
		try
		{
			int _type = COLON;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:581:4: ( ':' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:581:4: ':'
			{
			Match(':'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "COLON"

	// $ANTLR start "LEFT_PAREN"
	private void mLEFT_PAREN()
	{
		try
		{
			int _type = LEFT_PAREN;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:584:7: ( '(' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:584:7: '('
			{
			Match('('); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LEFT_PAREN"

	// $ANTLR start "RIGHT_PAREN"
	private void mRIGHT_PAREN()
	{
		try
		{
			int _type = RIGHT_PAREN;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:587:7: ( ')' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:587:7: ')'
			{
			Match(')'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "RIGHT_PAREN"

	// $ANTLR start "LEFT_BRACE"
	private void mLEFT_BRACE()
	{
		try
		{
			int _type = LEFT_BRACE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:590:7: ( '{' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:590:7: '{'
			{
			Match('{'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LEFT_BRACE"

	// $ANTLR start "RIGHT_BRACE"
	private void mRIGHT_BRACE()
	{
		try
		{
			int _type = RIGHT_BRACE;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:593:7: ( '}' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:593:7: '}'
			{
			Match('}'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "RIGHT_BRACE"

	// $ANTLR start "LEFT_BRACKET"
	private void mLEFT_BRACKET()
	{
		try
		{
			int _type = LEFT_BRACKET;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:596:4: ( '[' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:596:4: '['
			{
			Match('['); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LEFT_BRACKET"

	// $ANTLR start "RIGHT_BRACKET"
	private void mRIGHT_BRACKET()
	{
		try
		{
			int _type = RIGHT_BRACKET;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:599:4: ( ']' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:599:4: ']'
			{
			Match(']'); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "RIGHT_BRACKET"

	// $ANTLR start "WS"
	private void mWS()
	{
		try
		{
			int _type = WS;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:602:7: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:602:7: ( ' ' | '\\t' | '\\r' | '\\n' )
			{
			if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' )
			{
				input.Consume();

			}
			else
			{
				MismatchedSetException mse = new MismatchedSetException(null,input);
				Recover(mse);
				throw mse;}

			_channel = Hidden;

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "WS"

	// $ANTLR start "LINE_COMMENT"
	private void mLINE_COMMENT()
	{
		try
		{
			int _type = LINE_COMMENT;
			int _channel = DefaultTokenChannel;
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:605:7: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:605:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
			{
			Match("//"); 

			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:605:12: (~ ( '\\n' | '\\r' ) )*
			for ( ; ; )
			{
				int alt4=2;
				int LA4_0 = input.LA(1);

				if ( ((LA4_0>='\u0000' && LA4_0<='\t')||(LA4_0>='\u000B' && LA4_0<='\f')||(LA4_0>='\u000E' && LA4_0<='\uFFFF')) )
				{
					alt4=1;
				}


				switch ( alt4 )
				{
				case 1:
					// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:
					{
					input.Consume();


					}
					break;

				default:
					goto loop4;
				}
			}

			loop4:
				;


			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:605:26: ( '\\r' )?
			int alt5=2;
			int LA5_0 = input.LA(1);

			if ( (LA5_0=='\r') )
			{
				alt5=1;
			}
			switch ( alt5 )
			{
			case 1:
				// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:605:0: '\\r'
				{
				Match('\r'); 

				}
				break;

			}

			Match('\n'); 
			_channel = Hidden;

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally
		{
		}
	}
	// $ANTLR end "LINE_COMMENT"

	public override void mTokens()
	{
		// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:10: ( LOG | IF | WHILE | FOR | TYPE_INT | TYPE_STRING | TYPE_BOOL | FINALIZE | DEBUG | NODE_STATE | ONODE_STATE | CONNECTOR_STATE | OCONNECTOR_STATE | BITWISE_OR | BITWISE_AND | AND | NOT | OR | XOR | BOOL_TRUE | BOOL_FALSE | INVERSE | SUBSTRING | TO_NUMBER | TO_STRING | MIN | MAX | LENGTH | INT | STRING | ID | EXCLAMATION_SIGN | COMMA | PLUS | MINUS | DIV | MULT | MODULO | EQUALS | NOT_EQUALS | LESS | LESS_OR_EQUALS | MORE | MORE_OR_EQUALS | ASSIGN | UNION_OP | INTERSECT_OP | SEMI | COLON | LEFT_PAREN | RIGHT_PAREN | LEFT_BRACE | RIGHT_BRACE | LEFT_BRACKET | RIGHT_BRACKET | WS | LINE_COMMENT )
		int alt6=57;
		alt6 = dfa6.Predict(input);
		switch ( alt6 )
		{
		case 1:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:10: LOG
			{
			mLOG(); 

			}
			break;
		case 2:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:14: IF
			{
			mIF(); 

			}
			break;
		case 3:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:17: WHILE
			{
			mWHILE(); 

			}
			break;
		case 4:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:23: FOR
			{
			mFOR(); 

			}
			break;
		case 5:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:27: TYPE_INT
			{
			mTYPE_INT(); 

			}
			break;
		case 6:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:36: TYPE_STRING
			{
			mTYPE_STRING(); 

			}
			break;
		case 7:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:48: TYPE_BOOL
			{
			mTYPE_BOOL(); 

			}
			break;
		case 8:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:58: FINALIZE
			{
			mFINALIZE(); 

			}
			break;
		case 9:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:67: DEBUG
			{
			mDEBUG(); 

			}
			break;
		case 10:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:73: NODE_STATE
			{
			mNODE_STATE(); 

			}
			break;
		case 11:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:84: ONODE_STATE
			{
			mONODE_STATE(); 

			}
			break;
		case 12:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:96: CONNECTOR_STATE
			{
			mCONNECTOR_STATE(); 

			}
			break;
		case 13:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:112: OCONNECTOR_STATE
			{
			mOCONNECTOR_STATE(); 

			}
			break;
		case 14:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:129: BITWISE_OR
			{
			mBITWISE_OR(); 

			}
			break;
		case 15:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:140: BITWISE_AND
			{
			mBITWISE_AND(); 

			}
			break;
		case 16:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:152: AND
			{
			mAND(); 

			}
			break;
		case 17:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:156: NOT
			{
			mNOT(); 

			}
			break;
		case 18:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:160: OR
			{
			mOR(); 

			}
			break;
		case 19:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:163: XOR
			{
			mXOR(); 

			}
			break;
		case 20:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:167: BOOL_TRUE
			{
			mBOOL_TRUE(); 

			}
			break;
		case 21:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:177: BOOL_FALSE
			{
			mBOOL_FALSE(); 

			}
			break;
		case 22:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:188: INVERSE
			{
			mINVERSE(); 

			}
			break;
		case 23:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:196: SUBSTRING
			{
			mSUBSTRING(); 

			}
			break;
		case 24:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:206: TO_NUMBER
			{
			mTO_NUMBER(); 

			}
			break;
		case 25:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:216: TO_STRING
			{
			mTO_STRING(); 

			}
			break;
		case 26:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:226: MIN
			{
			mMIN(); 

			}
			break;
		case 27:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:230: MAX
			{
			mMAX(); 

			}
			break;
		case 28:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:234: LENGTH
			{
			mLENGTH(); 

			}
			break;
		case 29:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:241: INT
			{
			mINT(); 

			}
			break;
		case 30:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:245: STRING
			{
			mSTRING(); 

			}
			break;
		case 31:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:252: ID
			{
			mID(); 

			}
			break;
		case 32:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:255: EXCLAMATION_SIGN
			{
			mEXCLAMATION_SIGN(); 

			}
			break;
		case 33:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:272: COMMA
			{
			mCOMMA(); 

			}
			break;
		case 34:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:278: PLUS
			{
			mPLUS(); 

			}
			break;
		case 35:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:283: MINUS
			{
			mMINUS(); 

			}
			break;
		case 36:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:289: DIV
			{
			mDIV(); 

			}
			break;
		case 37:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:293: MULT
			{
			mMULT(); 

			}
			break;
		case 38:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:298: MODULO
			{
			mMODULO(); 

			}
			break;
		case 39:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:305: EQUALS
			{
			mEQUALS(); 

			}
			break;
		case 40:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:312: NOT_EQUALS
			{
			mNOT_EQUALS(); 

			}
			break;
		case 41:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:323: LESS
			{
			mLESS(); 

			}
			break;
		case 42:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:328: LESS_OR_EQUALS
			{
			mLESS_OR_EQUALS(); 

			}
			break;
		case 43:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:343: MORE
			{
			mMORE(); 

			}
			break;
		case 44:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:348: MORE_OR_EQUALS
			{
			mMORE_OR_EQUALS(); 

			}
			break;
		case 45:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:363: ASSIGN
			{
			mASSIGN(); 

			}
			break;
		case 46:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:370: UNION_OP
			{
			mUNION_OP(); 

			}
			break;
		case 47:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:379: INTERSECT_OP
			{
			mINTERSECT_OP(); 

			}
			break;
		case 48:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:392: SEMI
			{
			mSEMI(); 

			}
			break;
		case 49:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:397: COLON
			{
			mCOLON(); 

			}
			break;
		case 50:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:403: LEFT_PAREN
			{
			mLEFT_PAREN(); 

			}
			break;
		case 51:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:414: RIGHT_PAREN
			{
			mRIGHT_PAREN(); 

			}
			break;
		case 52:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:426: LEFT_BRACE
			{
			mLEFT_BRACE(); 

			}
			break;
		case 53:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:437: RIGHT_BRACE
			{
			mRIGHT_BRACE(); 

			}
			break;
		case 54:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:449: LEFT_BRACKET
			{
			mLEFT_BRACKET(); 

			}
			break;
		case 55:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:462: RIGHT_BRACKET
			{
			mRIGHT_BRACKET(); 

			}
			break;
		case 56:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:476: WS
			{
			mWS(); 

			}
			break;
		case 57:
			// E:\\Documents\\Projects\\CellularAutomaton\\ActorModel.Evolution\\Grammar\\Evolution.g:1:479: LINE_COMMENT
			{
			mLINE_COMMENT(); 

			}
			break;

		}

	}


	#region DFA
	DFA6 dfa6;

	protected override void InitDFAs()
	{
		base.InitDFAs();
		dfa6 = new DFA6( this );
	}

	class DFA6 : DFA
	{

		const string DFA6_eotS =
			"\x1\xFFFF\xE\x11\x3\xFFFF\x1\x40\x3\xFFFF\x1\x42\x3\xFFFF\x1\x44\x1\x46"+
			"\x1\x48\xA\xFFFF\x2\x11\x1\x4B\xD\x11\x1\x5C\x7\x11\xA\xFFFF\x1\x65\x1"+
			"\x11\x1\xFFFF\x1\x67\x2\x11\x1\x6A\x9\x11\x1\x74\x2\x11\x1\xFFFF\x1\x11"+
			"\x1\x78\x1\x79\x3\x11\x1\x7D\x1\x7E\x1\xFFFF\x1\x11\x1\xFFFF\x2\x11\x1"+
			"\xFFFF\x4\x11\x1\x86\x1\x87\x3\x11\x1\xFFFF\x3\x11\x2\xFFFF\x1\x8E\x2"+
			"\x11\x2\xFFFF\x2\x11\x1\x93\x1\x11\x1\x95\x2\x11\x2\xFFFF\x1\x98\x1\x99"+
			"\x4\x11\x1\xFFFF\x2\x11\x1\xA0\x1\x11\x1\xFFFF\x1\x11\x1\xFFFF\x1\xA3"+
			"\x1\x11\x2\xFFFF\x6\x11\x1\xFFFF\x1\xAB\x1\x11\x1\xFFFF\x1\x11\x1\xAE"+
			"\x2\x11\x1\xB1\x2\x11\x1\xFFFF\x1\xB4\x1\x11\x1\xFFFF\x1\xB6\x1\xB7\x1"+
			"\xFFFF\x1\xB8\x1\xB9\x1\xFFFF\x1\xBA\x5\xFFFF";
		const string DFA6_eofS =
			"\xBB\xFFFF";
		const string DFA6_minS =
			"\x1\x9\x1\x65\x1\x66\x1\x68\x1\x61\x1\x74\x1\x5F\x1\x65\x1\x6F\x1\x63"+
			"\x1\x6F\x1\x6E\x2\x6F\x1\x61\x3\xFFFF\x1\x3D\x3\xFFFF\x1\x2F\x3\xFFFF"+
			"\x3\x3D\xA\xFFFF\x1\x67\x1\x6E\x1\x30\x1\x74\x1\x69\x1\x72\x1\x6E\x1"+
			"\x6C\x1\x72\x1\x62\x1\x6F\x1\x61\x1\x62\x1\x64\x2\x6F\x1\x30\x1\x6E\x1"+
			"\x64\x1\x72\x1\x75\x2\x6E\x1\x78\xA\xFFFF\x1\x30\x1\x67\x1\xFFFF\x1\x30"+
			"\x1\x65\x1\x6C\x1\x30\x1\x61\x1\x73\x1\x69\x1\x73\x1\x6C\x1\x72\x1\x6E"+
			"\x1\x75\x1\x65\x1\x30\x1\x64\x1\x6E\x1\xFFFF\x1\x6E\x2\x30\x1\x65\x1"+
			"\x75\x1\x74\x2\x30\x1\xFFFF\x1\x74\x1\xFFFF\x1\x72\x1\x65\x1\xFFFF\x1"+
			"\x6C\x1\x65\x1\x6E\x1\x74\x2\x30\x1\x64\x1\x67\x1\x5F\x1\xFFFF\x1\x65"+
			"\x1\x6E\x1\x5F\x2\xFFFF\x1\x30\x1\x6D\x1\x72\x2\xFFFF\x1\x68\x1\x73\x1"+
			"\x30\x1\x69\x1\x30\x1\x67\x1\x72\x2\xFFFF\x2\x30\x1\x73\x2\x5F\x1\x73"+
			"\x1\xFFFF\x1\x62\x1\x69\x1\x30\x1\x65\x1\xFFFF\x1\x7A\x1\xFFFF\x1\x30"+
			"\x1\x69\x2\xFFFF\x1\x74\x2\x73\x1\x74\x1\x65\x1\x6E\x1\xFFFF\x1\x30\x1"+
			"\x65\x1\xFFFF\x1\x6E\x1\x30\x2\x74\x1\x30\x1\x72\x1\x67\x1\xFFFF\x1\x30"+
			"\x1\x67\x1\xFFFF\x2\x30\x1\xFFFF\x2\x30\x1\xFFFF\x1\x30\x5\xFFFF";
		const string DFA6_maxS =
			"\x1\x7D\x1\x6F\x1\x6E\x1\x68\x1\x6F\x1\x75\x1\x6F\x1\x65\x1\x6F\x1\x72"+
			"\x1\x6F\x1\x6E\x1\x6F\x1\x72\x1\x69\x3\xFFFF\x1\x3D\x3\xFFFF\x1\x2F\x3"+
			"\xFFFF\x3\x3D\xA\xFFFF\x1\x67\x1\x6E\x1\x7A\x1\x76\x1\x69\x1\x72\x1\x6E"+
			"\x1\x6C\x1\x72\x1\x62\x2\x6F\x1\x62\x1\x74\x2\x6F\x1\x7A\x1\x6E\x1\x64"+
			"\x1\x72\x1\x75\x1\x73\x1\x6E\x1\x78\xA\xFFFF\x1\x7A\x1\x67\x1\xFFFF\x1"+
			"\x7A\x1\x65\x1\x6C\x1\x7A\x1\x61\x1\x73\x1\x69\x1\x73\x1\x6C\x1\x72\x1"+
			"\x6E\x1\x75\x1\x65\x1\x7A\x1\x64\x1\x6E\x1\xFFFF\x1\x6E\x2\x7A\x1\x65"+
			"\x1\x75\x1\x74\x2\x7A\x1\xFFFF\x1\x74\x1\xFFFF\x1\x72\x1\x65\x1\xFFFF"+
			"\x1\x6C\x1\x65\x1\x6E\x1\x74\x2\x7A\x1\x64\x1\x67\x1\x5F\x1\xFFFF\x1"+
			"\x65\x1\x6E\x1\x5F\x2\xFFFF\x1\x7A\x1\x6D\x1\x72\x2\xFFFF\x1\x68\x1\x73"+
			"\x1\x7A\x1\x69\x1\x7A\x1\x67\x1\x72\x2\xFFFF\x2\x7A\x1\x73\x2\x5F\x1"+
			"\x73\x1\xFFFF\x1\x62\x1\x69\x1\x7A\x1\x65\x1\xFFFF\x1\x7A\x1\xFFFF\x1"+
			"\x7A\x1\x69\x2\xFFFF\x1\x74\x2\x73\x1\x74\x1\x65\x1\x6E\x1\xFFFF\x1\x7A"+
			"\x1\x65\x1\xFFFF\x1\x6E\x1\x7A\x2\x74\x1\x7A\x1\x72\x1\x67\x1\xFFFF\x1"+
			"\x7A\x1\x67\x1\xFFFF\x2\x7A\x1\xFFFF\x2\x7A\x1\xFFFF\x1\x7A\x5\xFFFF";
		const string DFA6_acceptS =
			"\xF\xFFFF\x1\x1D\x1\x1E\x1\x1F\x1\xFFFF\x1\x21\x1\x22\x1\x23\x1\xFFFF"+
			"\x1\x25\x1\x26\x1\x27\x3\xFFFF\x1\x2E\x1\x2F\x1\x30\x1\x32\x1\x33\x1"+
			"\x34\x1\x35\x1\x36\x1\x37\x1\x38\x18\xFFFF\x1\x28\x1\x20\x1\x39\x1\x24"+
			"\x1\x2A\x1\x29\x1\x2C\x1\x2B\x1\x2D\x1\x31\x2\xFFFF\x1\x2\x10\xFFFF\x1"+
			"\x12\x8\xFFFF\x1\x1\x1\xFFFF\x1\x5\x2\xFFFF\x1\x4\x9\xFFFF\x1\x11\x3"+
			"\xFFFF\x1\x10\x1\x13\x3\xFFFF\x1\x1A\x1\x1B\x7\xFFFF\x1\x7\x1\xE\x6\xFFFF"+
			"\x1\x14\x4\xFFFF\x1\x3\x1\xFFFF\x1\x15\x2\xFFFF\x1\xF\x1\x9\x6\xFFFF"+
			"\x1\x1C\x2\xFFFF\x1\x6\x7\xFFFF\x1\x16\x2\xFFFF\x1\xA\x2\xFFFF\x1\xC"+
			"\x2\xFFFF\x1\x8\x1\xFFFF\x1\xB\x1\xD\x1\x18\x1\x19\x1\x17";
		const string DFA6_specialS =
			"\xBB\xFFFF}>";
		static readonly string[] DFA6_transitionS =
			{
				"\x2\x26\x2\xFFFF\x1\x26\x12\xFFFF\x1\x26\x1\x12\x1\x10\x2\xFFFF\x1\x18"+
				"\x1\x1D\x1\xFFFF\x1\x20\x1\x21\x1\x17\x1\x14\x1\x13\x1\x15\x1\xFFFF"+
				"\x1\x16\xA\xF\x1\x1C\x1\x1F\x1\x1A\x1\x19\x1\x1B\x2\xFFFF\x1A\x11\x1"+
				"\x24\x1\xFFFF\x1\x25\x1\x1E\x1\x11\x1\xFFFF\x1\xB\x1\x6\x1\xA\x1\x7"+
				"\x1\x11\x1\x4\x2\x11\x1\x2\x2\x11\x1\x1\x1\xE\x1\x8\x1\x9\x3\x11\x1"+
				"\x5\x1\xD\x2\x11\x1\x3\x1\xC\x2\x11\x1\x22\x1\xFFFF\x1\x23",
				"\x1\x28\x9\xFFFF\x1\x27",
				"\x1\x29\x7\xFFFF\x1\x2A",
				"\x1\x2B",
				"\x1\x2E\x7\xFFFF\x1\x2D\x5\xFFFF\x1\x2C",
				"\x1\x2F\x1\x30",
				"\x1\x32\xF\xFFFF\x1\x31",
				"\x1\x33",
				"\x1\x34",
				"\x1\x36\xA\xFFFF\x1\x35\x3\xFFFF\x1\x37",
				"\x1\x38",
				"\x1\x39",
				"\x1\x3A",
				"\x1\x3C\x2\xFFFF\x1\x3B",
				"\x1\x3E\x7\xFFFF\x1\x3D",
				"",
				"",
				"",
				"\x1\x3F",
				"",
				"",
				"",
				"\x1\x41",
				"",
				"",
				"",
				"\x1\x43",
				"\x1\x45",
				"\x1\x47",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"\x1\x49",
				"\x1\x4A",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x4C\x1\xFFFF\x1\x4D",
				"\x1\x4E",
				"\x1\x4F",
				"\x1\x50",
				"\x1\x51",
				"\x1\x52",
				"\x1\x53",
				"\x1\x54",
				"\x1\x56\xD\xFFFF\x1\x55",
				"\x1\x57",
				"\x1\x58\xF\xFFFF\x1\x59",
				"\x1\x5A",
				"\x1\x5B",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x5D",
				"\x1\x5E",
				"\x1\x5F",
				"\x1\x60",
				"\x1\x61\x4\xFFFF\x1\x62",
				"\x1\x63",
				"\x1\x64",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x66",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x68",
				"\x1\x69",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x6B",
				"\x1\x6C",
				"\x1\x6D",
				"\x1\x6E",
				"\x1\x6F",
				"\x1\x70",
				"\x1\x71",
				"\x1\x72",
				"\x1\x73",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x75",
				"\x1\x76",
				"",
				"\x1\x77",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x7A",
				"\x1\x7B",
				"\x1\x7C",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"",
				"\x1\x7F",
				"",
				"\x1\x80",
				"\x1\x81",
				"",
				"\x1\x82",
				"\x1\x83",
				"\x1\x84",
				"\x1\x85",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x88",
				"\x1\x89",
				"\x1\x8A",
				"",
				"\x1\x8B",
				"\x1\x8C",
				"\x1\x8D",
				"",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x8F",
				"\x1\x90",
				"",
				"",
				"\x1\x91",
				"\x1\x92",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x94",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x96",
				"\x1\x97",
				"",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\x9A",
				"\x1\x9B",
				"\x1\x9C",
				"\x1\x9D",
				"",
				"\x1\x9E",
				"\x1\x9F",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\xA1",
				"",
				"\x1\xA2",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\xA4",
				"",
				"",
				"\x1\xA5",
				"\x1\xA6",
				"\x1\xA7",
				"\x1\xA8",
				"\x1\xA9",
				"\x1\xAA",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\xAC",
				"",
				"\x1\xAD",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\xAF",
				"\x1\xB0",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\xB2",
				"\x1\xB3",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\x1\xB5",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"",
				"\xA\x11\x7\xFFFF\x1A\x11\x4\xFFFF\x1\x11\x1\xFFFF\x1A\x11",
				"",
				"",
				"",
				"",
				""
			};

		static readonly short[] DFA6_eot = DFA.UnpackEncodedString(DFA6_eotS);
		static readonly short[] DFA6_eof = DFA.UnpackEncodedString(DFA6_eofS);
		static readonly char[] DFA6_min = DFA.UnpackEncodedStringToUnsignedChars(DFA6_minS);
		static readonly char[] DFA6_max = DFA.UnpackEncodedStringToUnsignedChars(DFA6_maxS);
		static readonly short[] DFA6_accept = DFA.UnpackEncodedString(DFA6_acceptS);
		static readonly short[] DFA6_special = DFA.UnpackEncodedString(DFA6_specialS);
		static readonly short[][] DFA6_transition;

		static DFA6()
		{
			int numStates = DFA6_transitionS.Length;
			DFA6_transition = new short[numStates][];
			for ( int i=0; i < numStates; i++ )
			{
				DFA6_transition[i] = DFA.UnpackEncodedString(DFA6_transitionS[i]);
			}
		}

		public DFA6( BaseRecognizer recognizer )
		{
			this.recognizer = recognizer;
			this.decisionNumber = 6;
			this.eot = DFA6_eot;
			this.eof = DFA6_eof;
			this.min = DFA6_min;
			this.max = DFA6_max;
			this.accept = DFA6_accept;
			this.special = DFA6_special;
			this.transition = DFA6_transition;
		}
		public override string GetDescription()
		{
			return "1:0: Tokens : ( LOG | IF | WHILE | FOR | TYPE_INT | TYPE_STRING | TYPE_BOOL | FINALIZE | DEBUG | NODE_STATE | ONODE_STATE | CONNECTOR_STATE | OCONNECTOR_STATE | BITWISE_OR | BITWISE_AND | AND | NOT | OR | XOR | BOOL_TRUE | BOOL_FALSE | INVERSE | SUBSTRING | TO_NUMBER | TO_STRING | MIN | MAX | LENGTH | INT | STRING | ID | EXCLAMATION_SIGN | COMMA | PLUS | MINUS | DIV | MULT | MODULO | EQUALS | NOT_EQUALS | LESS | LESS_OR_EQUALS | MORE | MORE_OR_EQUALS | ASSIGN | UNION_OP | INTERSECT_OP | SEMI | COLON | LEFT_PAREN | RIGHT_PAREN | LEFT_BRACE | RIGHT_BRACE | LEFT_BRACKET | RIGHT_BRACKET | WS | LINE_COMMENT );";
		}
	}

 
	#endregion

}

} // namespace ActorModel.Evolution.Grammar
